#ifndef __GE_COMMON_H__
#define __GE_COMMON_H__
#include "data_type.h"

#define ENGINE_INTERVAL     80
#define AT_INTERVAL         60
#define ABS_INTERVAL        70
#define BCM_INTERVAL        50
#define ERROR_CODE_INTERVAL 0

DataType vehicle_data[] =
{
	/*eng_data_rpm*/
	{
		ENG_DATA_RPM,
		/*name*/
		"eng_data_rpm",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x0C, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		20,
	},
	/*eng_data_vs*/
	{
		ENG_DATA_VS,
		/*name*/
		"eng_data_vs",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x0d, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_etc*/
	{
		ENG_DATA_ECT,
		/*name*/
		"eng_data_ect",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x05, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_iat*/
	{
		ENG_DATA_IAT,
		/*name*/
		"eng_data_iat",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x0F, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_app*/
	{
		ENG_DATA_APP,
		/*name*/
		"eng_data_app",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x13, 0x1F, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_tp*/
	{
		ENG_DATA_TP,
		/*name*/
		"eng_data_tp",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0xb1, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_ert*/
	{
		ENG_DATA_ERT,
		/*name*/
		"eng_data_ert",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x1f, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_load*/
	{
		ENG_DATA_LOAD,
		/*name*/
		"eng_data_load",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x04, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_ltft*/
	{
		ENG_DATA_LTFT,
		/*name*/
		"eng_data_ltft",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x07, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_stft*/
	{
		ENG_DATA_STFT,
		/*name*/
		"eng_data_stft",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x06, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire1*/
	{
		ENG_DATA_MISFIRE1,
		/*name*/
		"eng_data_misfire1",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0x06, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire2*/
	{
		ENG_DATA_MISFIRE2,
		/*name*/
		"eng_data_misfire2",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0x05, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire3*/
	{
		ENG_DATA_MISFIRE3,
		/*name*/
		"eng_data_misfire3",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0x07, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire4*/
	{
		ENG_DATA_MISFIRE4,
		/*name*/
		"eng_data_misfire4",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0x08, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire5*/
	{
		ENG_DATA_MISFIRE5,
		/*name*/
		"eng_data_misfire5",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0xEA, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_misfire6*/
	{
		ENG_DATA_MISFIRE6,
		/*name*/
		"eng_data_misfire6",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0xEB, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_FCLS*/
	{
		ENG_DATA_FCLS,
		/*name*/
		"eng_data_FCLS",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0x31, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_keystatus*/
	{
		ENG_DATA_KEYSTATUS,
		/*name*/
		"eng_data_keystatus",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x20, 0x7E, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_ho2s1*/
	{
		ENG_DATA_HO2S1,
		/*name*/
		"eng_data_ho2s1",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x23, 0x20, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_ho2s2*/
	{
		ENG_DATA_HO2S2,
		/*name*/
		"eng_data_ho2s2",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x23, 0x21, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_map*/
	{
		ENG_DATA_MAP,
		/*name*/
		"eng_data_map",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x20, 0x8A, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_injectpulse*/
	{
		ENG_DATA_INJECTPULSE,
		/*name*/
		"eng_data_injectpulse",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x12, 0xC3, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_oilpressure*/
	{
		ENG_DATA_OILPRESSURE,
		/*name*/
		"eng_data_oilpressure",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0x27, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_oillevelstatus*/
	{
		ENG_DATA_OILLEVELSTATUS,
		/*name*/
		"eng_data_oillevelstatus",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0x27, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_af*/
	{
		ENG_DATA_AF,
		/*name*/
		"eng_data_af",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x44, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_igtiming*/
	{
		ENG_DATA_IGTIMING,
		/*name*/
		"eng_data_igtiming",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x0E, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_MAF*/
	{
		ENG_DATA_MAF,
		/*name*/
		"eng_data_maf",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x10, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_oillife*/
	{
		ENG_DATA_OILLIFE,
		/*name*/
		"eng_data_oillife",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 3, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/
		{
			{0x02, 0x1A, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_oiltemp*/
	{
		ENG_DATA_OILTEMP,
		/*name*/
		"eng_data_oiltemp",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x11, 0x54, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
	/*eng_data_fuel*/
	{
		ENG_DATA_FUEL,
		/*name*/
		"eng_data_fuel",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/		
		{
			{0x04, 0x2C, 0xFE, 0x19, 0x40, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
		/*eng_data_fuellevel*/
	{
		ENG_DATA_FUELLEVEL,
		/*name*/
		"eng_data_fuellevel",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/		  
		{
			{0x04, 0x2C, 0xFE, 0x13, 0x2A, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
		/*eng_data_fueltank*/
	{
		ENG_DATA_FUELTANK,
		/*name*/
		"eng_data_fueltank",
		/*txrx id*/
		{0x7e0, 0x7e8, 0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 2},
		/*tx buffer*/		  
		{
			{0x04, 0x2C, 0xFE, 0x13, 0x1D, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ENGINE_INTERVAL,
	},
		/*at_data_oiltemp*/
	{
		AT_DATA_OILTEMP,
		/*name*/
		"at_data_oiltemp",
		/*txrx id*/
		{0x7e2, 0x7ea, 0x7e2, 0x5ea},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/
		{
			{0x04, 0x2C, 0xFE, 0x00, 0x2F, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		AT_INTERVAL,
	},
		/*abs_data_oillevel*/
	{
		ABS_DATA_OILLEVEL,
		/*name*/
		"abs_data_oillevel",
		/*txrx id*/
		{0x243, 0x643, 0x243, 0x543},
		/*txrx order*/
		{TX, RX, TX, RX},
		/*offset*/
		{0, 0, 0, 1},
		/*size*/
		{0, 0, 0, 1},
		/*tx buffer*/		 
		{
			{0x04, 0x2C, 0xFE, 0x40, 0x75, 0x00, 0x00, 0x00},
			{0},
			{0x03, 0xAA, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00},
			{0}
		},
		/*interval*/
		ABS_INTERVAL,
	},
		/*bcm_data_chargestatus*/  
	{
		BCM_DATA_CHARGESTATUS,
		/*name*/
		"bcm_data_chargestatus",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0x22, 0x90, 0xF8, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_battcurrent*/  
	{
		BCM_DATA_BATTCURRENT,
		/*name*/
		"bcm_data_battcurrent",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0x22, 0x90, 0xFB, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_battstatus*/  
	{
		BCM_DATA_BATTSTATUS,
		/*name*/
		"bcm_data_battstatus",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 3, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x02, 0x1A, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_battvolt*/  
	{
		BCM_DATA_BATTVOLT,
		/*name*/
		"bcm_data_battvolt",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x90, 0xB1, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_dda*/  
	{
		BCM_DATA_DDA,
		/*name*/
		"bcm_data_dda",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x85, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_pda*/  
	{
		BCM_DATA_PDA,
		/*name*/
		"bcm_data_pda",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x86, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_rrda*/  
	{
		BCM_DATA_RRDA,
		/*name*/
		"bcm_data_rrda",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_lrda*/  
	{
		BCM_DATA_LRDA,
		/*name*/
		"bcm_data_lrda",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x87, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_sunroof*/  
	{
		BCM_DATA_SUNROOF,
		/*name*/
		"bcm_data_sunroof",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 1, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x90, 0xE0, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_parklamp*/  
	{
		BCM_DATA_PARKLAMP,
		/*name*/
		"bcm_data_parklamp",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_headlamp*/  
	{
		BCM_DATA_HEADLAMP,
		/*name*/
		"bcm_data_headlamp",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_highbeam*/  
	{
		BCM_DATA_HIGHBEAM,
		/*name*/
		"bcm_data_highbeam",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_hazard*/  
	{
		BCM_DATA_HAZARD,
		/*name*/
		"bcm_data_hazard",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_frontfog*/  
	{
		BCM_DATA_FRONTFOG,
		/*name*/
		"bcm_data_frontfog",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_rearfog*/  
	{
		BCM_DATA_REARFOG,
		/*name*/
		"bcm_data_rearfog",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
	/*bcm_data_leftturn*/  
	{
		BCM_DATA_LEFTTURN,
		/*name*/
		"bcm_data_leftturn",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_rightturn*/  
	{
		BCM_DATA_RIGHTTURN,
		/*name*/
		"bcm_data_rightturn",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/		 
		{
			{0x03, 0x22, 0x80, 0x4C, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
		/*bcm_data_odo*/
	{
		BCM_DATA_ODO,
		/*name*/
		"bcm_data_odo",
		/*txrx id*/
		{0x241, 0x641, 0x241, 0x641},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 4, 0, 0},
		/*size*/
		{0, 4, 0, 0},
		/*tx buffer*/
		{
			{0x02, 0x1A, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00},
			{0},
			{0},
			{0}
		},
		/*interval*/
		BCM_INTERVAL,
	},
};

DataType error_code_data[] =
{
	/*engine code*/
	{
		ERROR_ENGINE_CODE,
		/*name*/
		"eng_code",
		/*txrx id*/
		{0x7e0, 0x5e8},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*at code*/
	{
		ERROR_AT_CODE,
		/*name*/
		"at_code",
		/*txrx id*/
		{0x7e2, 0x5ea},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*abs code*/
	{
		ERROR_ABS_CODE,
		/*name*/
		"abs_code",
		/*txrx id*/
		{0x243, 0x543},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*srs code*/
	{
		ERROR_SRS_CODE,
		/*name*/
		"srs_code",
		/*txrx id*/
		{0x247, 0x547},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*bcm code*/
	{
		ERROR_BCM_CODE,
		/*name*/
		"bcm_code",
		/*txrx id*/
		{0x241, 0x541},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*ipc code*/
	{
		ERROR_IPC_CODE,
		/*name*/
		"ipc_code",
		/*txrx id*/
		{0x24c, 0x54c},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*eps code*/
	{
		ERROR_EPS_CODE,
		/*name*/
		"eps_code",
		/*txrx id*/
		{0x242, 0x542},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*ac code*/
	{
		ERROR_AC_CODE,
		/*name*/
		"ac_code",
		/*txrx id*/
		{0x251, 0x551},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
	/*tpms code*/
	{
		ERROR_TPMS_CODE,
		/*name*/
		"tpms_code",
		/*txrx id*/
		{0x241, 0x541},
		/*txrx order*/
		{TX, RX, END, END},
		/*offset*/
		{0, 1, 0, 0},
		/*size*/
		{0, 2, 0, 0},
		/*tx buffer*/
		{
			{0x03, 0xA9, 0x81, 0x1A, 0x00, 0x00, 0x00, 0x00},
		},
		/*interval*/
		ERROR_CODE_INTERVAL,
	},
};

#endif
